<?php
include '../common.php';
/**
 * 正则表达式：
 * 
 * 元字符
 * 大小写反向
 * \d：0-9任意数字  \D
 *\s  任意空白字符   \S
 * \w  字母数字下划线  \W
 * $preg="/\//";转义(恢复原来的意思)
 *[a-z]    [0-9]   中括号内有就行  [31]3和1分开找    (31)就是31
 *   .   代表除了换行符以外的任意
 * ()   代表的是元子组
 * (?:aaaadddd)    表示不用记录这个括号，php不用存
 * ?     匹配0次或1次
 * +   代表1个或多个
 *    *    代表有或没有都行
 * {1,10}    1到10之间；{1,}满足一个以上；
 *  i   模式修正符   不区分大小写
 * 
 * 
 * 
 * 
 * 断言匹配：
 * (?<=aaaddd)以aaaddd开始的   匹配之间
 * (?=aaaddd)以aaaddd结束的
 * (?<!aaaddd)不是以aaaddd开始的  
 * (?!aaaddd)不是以aaaddd结束的
 */


/**
 * 断言匹配 
 * (?<=<h1>)匹配以<h1>开始的
 * (?=</h1>)以</h1>结束的
 * 结果为houdunwang
 */
$s="<h1>houdunwang</h1><em>houdunwangcom</em>";
$preg="@(?<=<h1>)(\w+)(?=</h1>)@";
echo preg_replace($preg,"<span style='color:red;'>\\1</span>", $s);

echo "<hr/>";
/**
 * 断言匹配 
 * (?<!http://)   匹配不是以http://开始的
 * (?!http://)   不是以http://结束的
 */
$s1="百度搜索www.baidu.com后盾网http://houdunwang.com";
$preg1="@(?<!http://)\w+\.\w+\.(com|com\.cn|cn|net|org)@";
echo preg_replace($preg1,'http://\0', $s1);




?>
